fix colours in dark mode
authorJyrki Gadinger <nilsding@nilsding.org>
Wed, 15 Jan 2025 15:33:18 +0000 (16:33 +0100)
committerMatthieu Gallien <matthieu.gallien@nextcloud.com>
Fri, 31 Jan 2025 11:54:40 +0000 (12:54 +0100)
- use placeholderText for TextField icons (introduced in Qt 5.12)
- use windowText for the large icons in activity view/search results
- also fix retrieval of icons from the server

Signed-off-by: Jyrki Gadinger <nilsding@nilsding.org>
src/gui/filedetails/ShareeSearchField.qml
src/gui/tray/ActivityList.qml
src/gui/tray/UnifiedSearchInputContainer.qml
src/gui/tray/UnifiedSearchPlaceholderView.qml
src/gui/tray/UnifiedSearchResultNothingFound.qml
src/gui/tray/activitylistmodel.cpp

index 46fa73d9d32fac830682f6e7c5a1ff8566c3f25a..35c72b1ed5ef1683fe085f9e42fa91d05294b81b 100644 (file)
@@ -38,7 +38,6 @@ TextField {
     }
 
     readonly property int horizontalPaddingOffset: Style.trayHorizontalMargin
-    readonly property color placeholderColor: palette.dark
     readonly property double iconsScaleFactor: 0.6
 
     function triggerSuggestionsVisibility() {
@@ -46,7 +45,6 @@ TextField {
     }
 
     placeholderText: enabled ? qsTr("Search for users or groups…") : qsTr("Sharing is not available for this folder")
-    placeholderTextColor: placeholderColor
     verticalAlignment: Qt.AlignVCenter
     implicitHeight: Math.max(Style.talkReplyTextFieldPreferredHeight, contentHeight)
 
@@ -109,7 +107,7 @@ TextField {
         fillMode: Image.PreserveAspectFit
         horizontalAlignment: Image.AlignLeft
 
-        source: "image://svgimage-custom-color/search.svg" + "/" + root.placeholderColor
+        source: "image://svgimage-custom-color/search.svg" + "/" + palette.placeholderText
         sourceSize: Qt.size(parent.height * root.iconsScaleFactor, parent.height * root.iconsScaleFactor)
 
         visible: !root.shareeModel.fetchOngoing
@@ -125,7 +123,7 @@ TextField {
         }
 
         width: height
-        color: root.placeholderColor
+        color: palette.placeholderText
         visible: root.shareeModel.fetchOngoing
         running: visible
     }
@@ -147,7 +145,7 @@ TextField {
         mipmap: true
         fillMode: Image.PreserveAspectFit
 
-        source: "image://svgimage-custom-color/clear.svg" + "/" + root.placeholderColor
+        source: "image://svgimage-custom-color/clear.svg" + "/" + palette.placeholderText
         sourceSize: Qt.size(parent.height * root.iconsScaleFactor, parent.height * root.iconsScaleFactor)
 
         visible: root.text
index dd97d39732871c15ac0c65594b57a2e51a835b46..99935b48f2ab155a150ea68b85e76910bdf4b8bd 100644 (file)
@@ -126,7 +126,7 @@ ScrollView {
                 verticalAlignment: Image.AlignVCenter
                 horizontalAlignment: Image.AlignHCenter
                 fillMode: Image.PreserveAspectFit
-                source: "image://svgimage-custom-color/activity.svg/" + palette.dark
+                source: "image://svgimage-custom-color/activity.svg/" + palette.windowText
             }
 
             EnforcedPlainTextLabel {
index 186d344815de776b2fe8b928e8987341b4096b7c..4ce71913337aaafa1301dfb597ed30e0417616b7 100644 (file)
@@ -27,8 +27,7 @@ TextField {
 
     property bool isSearchInProgress: false
 
-    readonly property color textFieldIconsColor: palette.dark
-    readonly property color placeholderColor: palette.dark
+    readonly property color textFieldIconsColor: palette.placeholderText
 
     readonly property int iconInset: Style.smallSpacing
 
index 692f32c97e07de23956232d00d5ff21e2796595e..9e4c0b96e725e4e65ff4ef39d5611b02e6ad39f6 100644 (file)
@@ -29,7 +29,7 @@ ColumnLayout {
     }
 
     Image {
-        source: "image://svgimage-custom-color/magnifying-glass.svg"
+        source: `image://svgimage-custom-color/magnifying-glass.svg/${palette.windowText}`
         sourceSize.width: Style.trayWindowHeaderHeight / 2
         sourceSize.height: Style.trayWindowHeaderHeight / 2
         Layout.alignment: Qt.AlignHCenter
index 1cab7fa5d17308ec808d89c1c8855db354fbdff4..e69a419a725e18e161114b9228f512b0206825eb 100644 (file)
@@ -29,7 +29,7 @@ ColumnLayout {
 
     Image {
         id: unifiedSearchResultsNoResultsLabelIcon
-        source: "image://svgimage-custom-color/magnifying-glass.svg"
+        source: `image://svgimage-custom-color/magnifying-glass.svg/${palette.windowText}`
         sourceSize.width: Style.trayWindowHeaderHeight / 2
         sourceSize.height: Style.trayWindowHeaderHeight / 2
         Layout.alignment: Qt.AlignHCenter
index 65de2e91d753350eff0cb515072355870430edea..b8c5d50ae1793b7fa49e32bedb564c4cafd02936 100644 (file)
@@ -258,7 +258,12 @@ QVariant ActivityListModel::data(const QModelIndex &index, int role) const
             }
         } else {
             // We have an activity
-            return a._icon.isEmpty() ? colorIconPath.arg("activity.svg") : colorIconPath.arg(a._icon);
+            if (a._icon.isEmpty()) {
+                return colorIconPath.arg("activity.svg");
+            }
+
+            // using tray-image-provider here as it can read from URLs
+            return QStringLiteral("image://tray-image-provider/%1").arg(a._icon);
         }
     };